package com.tbit.uqbike.service.business;

import com.github.pagehelper.PageInfo;
import com.tbit.uqbike.object.pojo.RechargeConfig;
import com.tbit.uqbike.object.pojo.dto.RechargeConfigDTO;
import com.tbit.uqbike.object.pojo.vo.RechargeConfigVO;
import com.tbit.uqbike.object.value.LoginInfo;
import com.tbit.common.entity.view.Result;

/**
 * @Author: chen
 * @Description: 充值界面金额配置
 * @Date: 创建于 11:12 2020/5/8
 */
public interface RechargeConfigService {

    /**
     * 新增充值配置
     *
     * @param rechargeConfigDTO 充值对象配置
     * @return 处理结果
     */
    Result<String> addRechargeConfig(RechargeConfigDTO rechargeConfigDTO);

    /**
     * 创建自定义充值模板
     *
     * @param rechargeConfig 自定义模板数据
     * @return 。
     */
    Result<String> addCustomRechargeConfig(RechargeConfig rechargeConfig);

    /**
     * 获取赠送配置分页数据
     *
     * @param accountId 运营区域id
     * @param status    状态 0-未启用  1-启用
     * @param rowCount  分页条数
     * @param pageNo    页码
     * @return 记录条数
     */
    PageInfo<RechargeConfigVO> rechargeConfigListPage(Integer accountId, Integer status, Integer rowCount, Integer pageNo);

    /**
     * 删除赠送金额
     *
     * @param rechargeConfigId 赠送配置id
     * @param loginInfo        登录用户信息
     */
    void deleteRechargeConfigById(Integer rechargeConfigId, LoginInfo loginInfo);

    /**
     * 修改充值配置
     *
     * @param rechargeConfigDTO 充值配置信息
     * @return 处理结果
     */
    Result<String> updateRechargeConfig(RechargeConfigDTO rechargeConfigDTO);

    /**
     * 禁用赠送配置
     *
     * @param rechargeConfigId 赠送配置id
     * @return .
     */
    Result<String> disableRechargeConfig(Integer rechargeConfigId);

    /**
     * 启用赠送配置
     *
     * @param rechargeConfigId 赠送配置id
     * @return .
     */
    Result<String> enable(Integer rechargeConfigId);

    /**
     * 获取赠送配置详情
     *
     * @param rechargeConfigId 赠送配置id
     * @return 。
     */
    Result<RechargeConfigVO> selectRechargeConfigById(Integer rechargeConfigId);

}
